package com.leetBook.Krahets.linkedList;

/**
 * 《图解算法与数据结构》链表第 5 题：给定两个以 有序链表 形式记录的训练计划 l1、l2，分别记录了两套核心肌群训练项目编号，请合并这两个训练计划，按训练项目编号 升序 记录于链表并返回。
 */
public class LastSame {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode A = headA, B = headB;
        while (A != B) {
            // 走到尽头见不到你，于是走过你来时的路，等到相遇时才发现，你也走过我来时的路。
            A = A != null ? A.next : headB;
            B = B != null ? B.next : headA;
        }
        return A;
    }
}
